1. Field of the Invention
This invention relates to computer systems, and more particularly to simulation of Internet traffic.
2. Description of the Related Art
The Internet is used for many commercial and non-commercial solutions to provide content or services to multiple users. Business solutions may include selling goods and serving customers online. Non-commercial entities may use the Web to provide access to certain resources to a wide variety of geographically diverse users. While many types of technologies (e.g., Web servers, application servers, browsers, platforms, security protocols, etc.) may be important for deploying Internet-based solutions, how well these diverse technologies work together to provide secure and reliable services may be crucial for success of such systems. These technologies may help companies to fully leverage backend resources such as legacy applications, distributed system databases and even Web-based content. Such backend resources may be made available via the Internet to various users such as customers, partners and employees of the company.
Backend resources may be provided through Web services to the users. A Web service may represent a unit of functionality that can be accessed over the Web. For example, Web services may share business logic, data and processes through a programmatic interface across a network. Developers may then add the Web services to a graphical user interface (e.g., a Web page or an executable program) to offer specific functionality to users. For example, a user could be a person accessing the service through a desktop browser or wireless browser. A user could also be an application program or another Web service.
Numerous challenges are often presented during testing of whether the Web services can be provided by various technologies under different conditions. Developers of Internet technologies typically test products prior to release. Despite similarities in intended functionality, Web services (or access to Web services) operating within different environments may deliver unexpected results under certain conditions. For example, different types of browsers may support different functions and interact differently with an Internet-based server (e.g., Web server, application server, portal server, etc.). In additional to interacting correctly with different client applications, such as browser, an Internet-based solution may also need to interact with other servers, backend systems, Internet sites, etc. Developers may increase testing cost and time by creating and recreating test environments as technologies evolve and/or emerge.
Having to test many possible scenarios (e.g., multiple users initiating Internet requests using different Internet technologies under different conditions) may further increase testing cost and time. A system may need to operate with many different Internet technologies that facilitate development of Web applications that can be executed on different platforms and developed in different languages. Numerous types of protocols, methods and other mechanisms may also be used. For example, secure access to Web services may be handled by several different security methods such as basic, digest and XML Digital Signatures (XMLDSIG). Different browsers may handle different types of Web content differently. A server operating in one environment may need to operate differently in another environment. The wide variety of evolving technologies and components in Internet-based systems may complicate testing of such systems. Various different environments and technologies may need to be recreated to properly test a Web application. Such systems may need to concurrently handle requests from multiple different users that may be using different client applications to access the Web- or Internet-based system. Creating the wide variety of conditions to test such systems may be very expensive and time consuming.